import request from '@/utils/requestUser'

// 登录-账号密码登录
export function loginByAccount(data) {
    return request({
        url: 'api/user/login/account',
        method: 'post',
        headers: {
            isToken: false
          },
        data: data
    })
}

// 登录-邮箱验证码登录
export function loginByEmail(data) {
    return request({
        url: 'api/user/login/email',
        method: 'post',
        headers: {
            isToken: false
          },
        data: data
    })
}

// 获取图片验证码
export function getCaptchaImage() {
    return request({
        url: 'api/user/captchaImage',
        method: 'get',
        headers: {
            isToken: false
          }
    })
}

// 用户注册
export function userRegister(data) {
    return request({
        url: 'api/user/register',
        method: 'post',
        headers: {
            isToken :false
        },
        data: data
    })
}

// 用户登出
export function logout() {
    return request({
        url: 'api/user/logout',
        method: 'post',
        headers: {
            isToken: true
        }
    })
}

//  获取用户信息
export function getUserInfo() {
    return request ({
        url: 'api/user/current',
        method: 'get',
        headers: {
            isToken: true
        }
    })
}

// 修改用户信息
export function saveUserInfo(userInfo) {
    return request({
        url: 'api/user/saveUserInfo',
        method: 'put',
        headers: {
            isToken: true
        },
        data: userInfo
    })
}

// 修改密码
export function updatePassword(data) {
    return request({
        url: 'api/user/updatePassword',
        method: 'put',
        headers: {
            isToken: true
        },
        data: data
    })
}

// 上传头像
export function uploadAvatar(formData) {
    return request({
        url: 'api/user/uploadAvatar',
        method: 'post',
        data: formData,
        headers: {
            'Content-Dispositon': 'inline', //设置应答方式为内联
            isToken: true
        }
    })
}

//  获取其他用户信息
export function getOtherUser(userId) {
    return request ({
        url: 'api/user/getOtherUser/' + userId,
        method: 'get',
        headers: {
            isToken: true
        }
    })
}

//  发送邮箱验证码
export function sendMailCaptcha(query) {
    return request ({
        url: 'api/mail/sendVerifyMailCaptcha',
        method: 'get',
        headers: {
            isToken: true
        },
        params: query
    })
}

//  邮箱验证
export function verifyMail(query) {
    return request ({
        url: 'api/mail/verifyMail',
        method: 'post',
        headers: {
            isToken: true
        },
        params: query
    })
}

//  发送找回账号验证码
export function sendRetrieveAccountCaptcha(query) {
    return request ({
        url: 'api/mail/sendRetrieveAccountCaptcha',
        method: 'get',
        headers: {
            isToken: false
        },
        params: query
    })
}

//  找回账号
export function retrieveAccount(query) {
    return request ({
        url: 'api/mail/retrieveAccount',
        method: 'get',
        headers: {
            isToken: false
        },
        params: query
    })
}

//  发送忘记密码验证码
export function sendUpdatePasswordCaptcha(query) {
    return request ({
        url: 'api/mail/sendUpdatePasswordCaptcha',
        method: 'get',
        headers: {
            isToken: false
        },
        params: query
    })
}

//  修改密码
export function updatePasswordByMail(data) {
    return request ({
        url: 'api/mail/updatePasswordByMail',
        method: 'post',
        headers: {
            isToken: false
        },
        data: data
    })
}

//  发送忘记密码验证码
export function sendLoginMailCaptcha(query) {
    return request ({
        url: 'api/mail/sendLoginByMailCaptcha',
        method: 'get',
        headers: {
            isToken: false
        },
        params: query
    })
}

// 管理员分页查询用户
export function selectPageUser(query) {
    return request({
        url: 'api/system/user/searchList',
        method: 'get',
        headers: {
            isToken: true
        },
        params: query
    })
}

// 管理员删除用户
export function deleteUserById(id) {
    return request({
        url: 'api/system/user/delete/' + id,
        method: 'delete',
        headers: {
            isToken: true
        }
    })
}

// 管理员分页查询访问信息
export function selectPageLoginInfo(query) {
    return request({
        url: 'api/system/loginInfo/searchList',
        method: 'get',
        headers: {
            isToken: true
        },
        params: query
    })
}

// 管理员删除访问信息
export function deleteLoginInfo(id) {
    return request({
        url: 'api/system/loginInfo/deleteLoginInfo/' + id,
        method: 'delete',
        headers: {
            isToken: true
        }
    })
}
